module testY1(q0,q1,q2,InA, d1);
	input q0, q1,q2, InA;
	output d1;
	wire q1bar,q2bar,q0bar, InAbar;
	wire tmp1,tmp2,tmp3,tmp4,tmp5;
	wire tmp6,tmp7,tmp8,tmp9,tmp10;
	wire tmp11,tmp12,tmp13,tmp14,tmp15;
	wire tmp16,tmp17,tmp18,tmp19;

	not1 inst25(q0,q0bar);
	not1 inst26(q1,q1bar);
	not1 inst27(q2,q2bar);
	not1 inst28(InA,InAbar);
//first part of Y1
	nand2 inst10(q1,q0bar,tmp9);
//second part of Y1
	nor2 inst11(q1,q0bar,tmp10);
	nand2 inst12(q2bar,InAbar, tmp11);
	nand2 inst13(q2bar,tmp11,tmp12);
	nand2 inst14(tmp10,tmp12,tmp13);
//Y1
	nand2 inst15(tmp9,tmp13,d1);
	
endmodule
